#ifndef __MAIN_H
#define __MAIN_H

#include <windows.h>										// Header File For Windows
#include <stdio.h>											// Header File For Standard Input / Output
#include <stdarg.h>											// Header File For Variable Argument Routines
#include <gl\gl.h>											// Header File For The OpenGL32 Library
#include <gl\glu.h>											// Header File For The GLu32 Library
#include <gl\glaux.h>										// Header File For The Glaux Library

#include <olectl.h>  


#include <time.h>
#include <math.h>

#define MAIN_WINDOW_SIZE_X 500
#define MAIN_WINDOW_SIZE_Y 500

#define MAX_SIZE 10000
#define MAX_SYMBOLS 30

extern HDC			hDC;										// Private GDI Device Context
extern HGLRC		hRC;										// Permanent Rendering Context
extern HWND		hWnd;										// Holds Our Window Handle
extern HINSTANCE	hInstance;										// Holds The Instance Of The Application

extern bool	keys[256];											// Array Used For The Keyboard Routine

extern bool	anti;											// Antialiasing?
extern bool	active;										// Window Active Flag Set To TRUE By Default
extern bool	fullscreen;									// Fullscreen Flag Set To Fullscreen Mode By Default

extern int		loop1;												// Generic Loop1
extern int		loop2;												// Generic Loop2
extern int		delay;												// Enemy Delay
extern int		adjust;											// Speed Adjustment For Really Slow Video Cards

extern int main_window_size_x;
extern int main_window_size_y;



extern int		steps[6];					// Stepping Values For Slow Video Adjustment

extern GLuint	texture[MAX_SIZE];											// Font Texture Storage Space
extern GLuint	base;												// Base Display List For The Font

extern FILE* result_file;


LRESULT	CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);		// Declaration For WndProc
int DrawGLScene(GLvoid);

void My_Initialize(void);
int UpdateServer(void);
int DrawStartLocation(GLvoid);
void End_program(void);

int BuildTexture(char *szPathName, GLuint &texid);						// Load Image And Convert To A Texture
int BuildTextureFullPath(char *szPathName, GLuint &texid);						// Load Image And Convert To A Texture

#endif